Specification of Network Topologies

Parallaxis makes the following assumptions about its abstract parallel machine, whether it is physically present or simulated:

Within the realm of this machine model, the programmer may now choose a certain topological structure for the communication network to achieve the best possible match between architecture and algorithm of a given problem. For each application, the number of PEs and the network topology is static, that is, it has to be specified prior to compilation and will remain unchanged during program execution.

The specification of the network structure's logical form takes two steps: First, Parallaxis is told the number of processing elements one wants to use and how they will be arranged in dimensions. This almost exactly takes the form of Modula-2's array declaration, except that we are dealing with processors here instead of data elements. Although we create some neighbor relation between the PEs by this declaration, this does not specify any connections between processors which is reserved for the second step. There, we may specify a transfer-function (from a general PE position to its relative neighbor) for every processor-port in this topology. Or, stated differently, the number of transfer-functions provided equals the number of ports per PE. Each transfer-function has a name (the exit-port's name) and also states the name of the corresponding entry port on its neighbor-PE after a period.

Parallaxis allows the specification of arbitrary network topologies. The examples shown in the following sections should be guidelines for modeling other topologies.



Subsections